package vsm.vsm_server.service;

import vsm.vsm_server.pojo.User.Login.Register;
import vsm.vsm_server.pojo.User.UserInfo;
import vsm.vsm_server.pojo.User.User;

import java.math.BigInteger;
import java.util.List;
import java.util.Map;

public interface UserService {
    /*
   查询全部用户数据
   */
    List<User> list();
    /*
    根据id删除用户
     */
    boolean delete(BigInteger id);
    /*
    创建用户
     */
    BigInteger create(Register register);
    /*
    查询指定用户数据
     */
    User getById(BigInteger id);
    /*
    查询用户主要数据
     */
    UserInfo getInfoById(BigInteger id);
    /*
    查询指定用户数据
     */
    User getByName(String userName) throws Exception;
    /*
    根据参数修改用户
     */
    Boolean update(UserInfo newuser);
    /*
    根据id查询头像
     */
    String getAvatarId(BigInteger userid);

    List<UserInfo> userInfoListGetAvatar(List<UserInfo> userInfoList);

    /*
        查询用户信息
         */
    Map<BigInteger,UserInfo> getUserInfoList(List<BigInteger> userIdList);
    /*
    校验粉丝数量
     */
    void verifyFans(BigInteger userId);
    void addFans(BigInteger userId);
    void deFans(BigInteger userId);

    void addSubs(BigInteger userId);

    void deSubs(BigInteger userId);
}
